Table of Contents
PROJECT: SMART BUILDING MANAGEMENT SYSTEM
Compilation of REVIEW 1–3: Problem Definition & Requirement • Architecture & Design • Database & GUI
Student group: Huynh Tan Luc – T3S2307045; Nguyen Tri Thuc – T3S23070456
Supervisor: Mr. Truong Trung
Submission date: 18/08/2025
Chapter 1 — REVIEW 1: Problem Definition & Requirement
REVIEW 1
PROBLEM DEFINITION & REQUIREMENT
SMART BUILDING MANAGEMENT SYSTEM
Student group:
• Huynh Tan Luc – T3S2307045
• Nguyen Tri Thuc – T3S23070456
Supervisor: Mr. Truong Trung
Review date: [Review date]
1. INTRODUCTION
1.1 Background and significance of the topic
In the current context of rapid urbanization, managing apartment buildings
has become extremely complex and challenging. Traditional management systems
based on paperwork and manual processes no longer meet the increasing needs
for management efficiency, resident services, and operational optimization.
The current situation shows:
• Rapid increase in the number of apartment buildings and units
• Manual management processes causing delays and errors
• Difficult communication between management board and residents
• Lack of effective monitoring and reporting systems
• Increasingly diverse needs for amenities and services
Significance of the topic:
• Solve real-world problems in apartment management
• Apply modern technology to automate processes
• Improve service quality and resident experience
• Create an intelligent, sustainable management platform
• Contribute to smart city development
1.2 Main and secondary objectives
Main objectives:
• Develop a comprehensive and integrated building management platform
• Automate administrative processes and minimize manual work
• Improve communication and information between management and residents
• Optimize facility booking and maintenance management
• Simplify billing, payment processes, and financial management
• Provide mobile access to building services
• Create an integrated, friendly, and easy-to-use interface
Secondary objectives:
• Implement real-time notification and update systems
• Provide comprehensive reports and analytics on building operations
• Ensure high scalability and security of the system
• Create a responsive and accessible user interface
• Implement multi-language support (Vietnamese/English)
• Provide comprehensive documentation and user guides
• Integrate with external systems when needed
1.3 Project scope
The project scope includes the following main areas:
Core management functions:
• User and role management (Admin, Staff, Resident)
• Apartment and unit management in the building
• Facility booking and management system
• Maintenance request and incident handling
• Invoice and payment management
• Internal notification and communication system
Technical features:
• Web-based administrative dashboard
• Mobile application for residents
• Integrated RESTful API architecture
• Real-time notification system
• Detailed role and permission management
• Data backup and security
1.4 System users
Primary users:
• Apartment building management board (Admin)
• Operations and maintenance staff (Staff)
• Residents living in the building (Resident)
• Apartment owners
User characteristics:
• Admin: Has management knowledge, basic computer skills
• Staff: Operations staff, needs a simple interface
• Resident: Diverse in age, varying technology skills
• Owners: Concerned about financial information and reports
2. PROBLEM IDENTIFICATION
2.1 Current situation and difficulties
Current building management systems face many important challenges:
Management processes:
• Manual, time-consuming administrative processes
• Complex paperwork, prone to loss and errors
• Lack of effective monitoring and reporting systems
• Difficulties in storing and retrieving information
Communication and information:
• Lack of real-time communication between management and residents
• Delayed, unsynchronized notifications
• Difficulty collecting feedback from residents
• Lack of official and effective communication channels
Facility and service management:
• Manual, inefficient facility booking systems
• Difficulties in scheduling and maintenance management
• Lack of usage tracking and reporting
• Slow maintenance request processing
Finance and billing:
• Complex, manual billing and payment processes
• Difficulties tracking payments and outstanding debts
• Lack of automatic warning and reminder systems
• Financial reports not accurate and timely
Access and usage:
• Limited access to building information and services
• Lack of mobile access for modern users
• Unfriendly, hard-to-use interfaces
• Poor integration across management functions
2.2 Problems to be addressed
Based on the analysis, the main issues to solve include:
Process issues:
• Automate manual management processes
• Standardize request handling and reporting procedures
• Optimize workflows and task assignment
Communication issues:
• Improve communication and notification systems
• Create effective two-way communication channels
• Ensure information is delivered timely and accurately
Facility management issues:
• Optimize facility booking processes
• Improve maintenance and incident management
• Increase resource utilization efficiency
Financial issues:
• Simplify payment and invoice management
• Automate calculation and invoice generation
• Improve financial tracking and reporting
Access issues:
• Enhance access to information
• Develop a mobile application for residents
• Integrate management functions into a single platform
2.3 Proposed solutions
The proposed Smart Building Management System includes:
System architecture:
• Comprehensive web management platform for admin and staff
• Mobile application for residents
• Integrated RESTful APIs to connect components
• 3-tier architecture: Presentation, Business Logic, Data Access
Technology solutions:
• Backend: Spring Boot with Java 17
• Frontend: React.js with TypeScript
• Mobile: Flutter cross-platform
• Database: MySQL
• Authentication: JWT with Spring Security
Key features:
• User management and role-based access control
• Integrated apartment and resident management
• Smart facility booking system
• Maintenance and incident management
• Automated billing and payment system
• Real-time notification and communication
3. SYSTEM REQUIREMENTS
3.1 Non-functional requirements
Performance:
• System response time < 2 seconds for 95% of requests
• Support 1000+ concurrent users
• 99.9% system availability
• Optimized database queries for large datasets
• Application startup time < 5 seconds
Security:
• Encrypted data transmission (HTTPS/TLS)
• Secure user authentication (JWT tokens)
• Role-based access control (RBAC)
• Encryption of sensitive data
• Regular security checks and penetration tests
• Protection against SQL injection and XSS
Scalability:
• Horizontal scalability
• Load balancing support
• Database sharding strategies
• Microservices architecture support
• Performance optimization for high load
User experience (UX/UI):
• Intuitive, easy-to-use user interface design
• Responsive design for all device types
• Accessibility compliance (WCAG 2.1)
• Multi-language support (Vietnamese/English)
• Consistent, easy-to-learn interface
• Fast response for user interactions
Reliability:
• 24/7 stable system operation
• High fault recovery capability
• Automatic, frequent data backups
• Detailed logging for debugging and monitoring
3.2 Functional requirements
User and role management:
• User registration and authentication with email verification
• Role-based access control (Admin, Staff, Resident)
• Manage and update user profiles
• Password reset and account recovery
• Session management and security
Apartment and resident management:
• Register apartments and manage detailed information
• Assign residents and link them to apartments
• Track apartment status (vacant, occupied, maintenance)
• Maintenance history and related documents
• Manage contact and emergency information
Facility and service management:
• Facility catalog and availability
• Online booking and reservations
• Usage tracking and statistical reports
• Maintenance scheduling and coordination
• Manage facility usage fees
Billing and payment system:
• Automatically generate periodic invoices
• Support multiple payment methods
• Track payments and transaction history
• Late payment notifications and automatic reminders
• Financial reports and statistics
Notification and communication system:
• Create and distribute building-wide notifications
• Collect feedback from residents
• Manage support tickets and requests
• Real-time notifications and alerts
• Communication and exchange history
Reporting and analytics:
• Overview dashboard with statistics
• Detailed reports on building operations
• Trend analysis and performance
• Export reports to PDF/Excel
• Charts and visual graphs
3.3 Hardware/software requirements
Server requirements:
• CPU: Intel Core i5 or higher, or equivalent AMD Ryzen 5
• RAM: Minimum 8GB, recommended 16GB
• Storage: SSD 256GB or more
• Operating system: Windows 10/11, Ubuntu 20.04 LTS
• Network connection: 100Mbps or higher
Client requirements:
• Web browsers: Chrome 90+, Firefox 88+, Edge 90+, Safari 14+
• Mobile devices: Android 8.0+, iOS 12.0+
• RAM: Minimum 4GB for mobile devices
• Stable internet connection
Database requirements:
• MySQL
• Redis 6+ for cache and session
• Storage capacity: Minimum 100GB
• Automatic daily backups
Development tools:
• IDE: IntelliJ IDEA, Visual Studio Code, Android Studio
• Version control: Git with GitHub
• Database tools: pgAdmin, Redis Desktop Manager
• Testing tools: JUnit 5, Jest, Flutter testing framework
Technology requirements:
• Backend: Spring Boot 3.x, Java 17+
• Frontend: React.js 18+, TypeScript 5+
• Mobile: Flutter 3.x, Dart 3+
• Database: MySQL, Redis
• Authentication: JWT, Spring Security
• Build tools: Maven, npm, Flutter CLI
[Insert image 1: Overall architecture diagram]
[Insert image 2: DFD – Login flow, facility booking, billing]
[Insert image 3: Use Case Admin/Staff/Resident]
[Insert image 4: ERD – Main tables]
[Insert image 5: Web UI screens (Dashboard/Residents/Facilities/Invoices)]
[Insert image 6: Mobile UI screens (Login/Profile/Booking/Notifications/Chat)]
Chapter 2 — REVIEW 2: Architecture & Design
REVIEW 2
ARCHITECTURE & DESIGN
SMART BUILDING MANAGEMENT SYSTEM
1. SYSTEM ARCHITECTURE
1.1 3-tier architecture (Presentation, Business Logic, Data Access)
The Smart Building Management System is designed with a traditional 3-tier
architecture to ensure clear separation of concerns and easy maintenance and
scalability.
1.2 Detailed roles of each tier + technologies used
**Presentation Layer (User Interface):**
Roles:
• Provide interactive user interfaces
• Process user input and display output
• Ensure the best user experience
• Handle responsive design for different devices
Technologies used:
• **Web Application (Admin Dashboard):**
- React.js 18+ with TypeScript 5+
- Tailwind CSS for styling
- React Router for navigation
- Axios for HTTP requests
- React Query for state management
• **Mobile Application (Resident App):**
- Flutter 3.x with Dart 3+
- Material Design 3
- Provider for state management
- HTTP package for API calls
- Shared Preferences for local storage
**Business Logic Layer:**
Roles:
• Process the core business logic of the system
• Execute business rules and validation
• Orchestrate between presentation and data access layers
• Handle authentication and authorization
• Manage business rules and workflows
Technologies used:
• **Spring Boot 3.x Framework:**
- Spring Security for authentication and authorization
- Spring Data JPA for data access
- Spring Web for REST APIs
- Spring Validation for input validation
- Spring Mail for email services
- Spring Scheduling for background tasks
• **Business Services:**
- User Management Service
- Apartment Management Service
- Facility Booking Service
- Billing Service
- Notification Service
- Maintenance Service
**Data Access Layer:**
Roles:
• Manage data storage and retrieval
• Ensure data integrity and security
• Optimize query performance
• Manage connection pooling and caching
• Backup and recovery
Technologies used:
• **Primary Database:**
- MySQL
- Hibernate ORM for object-relational mapping
- Connection pooling with HikariCP
- Database migration with Flyway
• **Cache Layer:**
- Redis 6+ for session storage
- Redis for frequently accessed caching
- Redis for real-time notifications
• **File Storage:**
- Local file system for development
- Cloud storage (AWS S3) for production
- Image optimization and compression
1.3 Overall system architecture
1.4 Microservices architecture diagram
1.5 Microservices details
**MAIN SERVICE (Spring Boot):**
- **User Management Service:** Manage users, roles, authentication
- **Apartment Management Service:** Manage apartments, residents, statuses
- **Billing Service:** Generate invoices, calculate fees, track payments
- **Database:** MySQL for core data
**REALTIME SERVICE (Spring Boot + WebSocket):**
- **Notification Service:** Send real-time notifications, push notifications
- **Chat Service:** Support chats between residents and staff
- **WebSocket:** Real-time connections for the mobile app
- **Database:** Redis for sessions and cache
**FACILITY SERVICE (Spring Boot):**
- **Facility Booking Service:** Manage facility reservations
- **Scheduling Service:** Schedule maintenance, manage time
- **Maintenance Service:** Handle maintenance requests
- **Database:** MySQL for facility data
**REPORTING SERVICE (Spring Boot):**
- **Analytics Service:** Data analytics, statistics
- **Report Generation:** Generate PDF/Excel reports
- **Data Export:** Export data on demand
- **Database:** MySQL
**PAYMENT SERVICE (Spring Boot):**
- **Payment Gateway:** Integrate payment gateways
- **Transaction Management:** Manage transactions
- **Refund Processing:** Handle refunds
- **Database:** MySQL for transactions
**SECURITY SERVICE (Spring Boot):**
- **Access Control:** Access management, RBAC
- **Monitoring:** System activity monitoring
- **Alert System:** Security alert system
- **Database:** MySQL + Redis logs
1.6 Data flows in the architecture
3. Data Flow:
4. Real-time Communication:
2. DATA FLOW DIAGRAM (DFD)
2.1 Main flows of the system
**Flow 1: Login and authentication**
Flow details:
1. The user enters login information
2. Frontend sends a request to the Authentication Service
3. The service validates credentials against the database
4. Generate a JWT token and return it to the client
5. The client stores the token and uses it for subsequent requests
6. Each request is checked by the Authorization Service
**Flow 2: Facility booking**
Flow details:
1. The resident selects a facility and time
2. Frontend sends a request to the Facility Booking Service
3. The service checks facility availability
4. Create a booking record in the database
5. Send confirmation via the Notification Service
6. Update facility status
**Flow 3: Billing process**
Flow details:
1. The system automatically generates periodic invoices
2. Billing Service calculates fees
3. Create the invoice and save it to the database
4. Send the invoice notification to the resident
5. Resident views and pays the invoice
6. Update payment status
**Flow 4: Notification system**
Admin/Staff → Create notification → Notification Service → Database
↓
Store notification → Push Notification → Mobile App → Resident
Flow details:
1. Admin or Staff creates a new notification
2. The notification is saved to the database
3. Notification Service sends a push notification
4. Mobile app receives and displays the notification
5. Resident can read and respond to the notification
**Flow 5: Maintenance request handling**
Flow details:
1. Resident submits a maintenance request
2. Maintenance Service saves the request to the database
3. The system assigns it to appropriate staff
4. Staff receives and processes the request
5. Update status and notify the resident
6. Save maintenance history
2.2 Overall data flow diagram
3. USE CASE DIAGRAM
3.1 Admin Use Cases (System-wide management)
**Admin Use Case Description:**
The Admin has the highest privileges in the system and can manage all
components and functions.
**Main Use Cases:**
1. **User Management**
- Actor: Admin
- Description: Admin can create, edit, delete, and manage all users
- Precondition: Admin has successfully logged in
- Main Flow:
* Admin accesses the user management page
* The system displays the list of all users
* Admin can perform CRUD operations
* The system updates the database and sends notifications
- Postcondition: User information is updated
2. **Apartment Management**
- Actor: Admin
- Description: Admin manages apartment info, assigns residents, tracks status
- Precondition: Admin has apartment management rights
- Main Flow:
* Admin views all apartments
* Add/edit/delete apartment information
* Assign residents to apartments
* Update apartment status
- Postcondition: Apartment information is updated
3. **Facility Management**
- Actor: Admin
- Description: Admin manages facility catalog, maintenance schedules, usage fees
- Precondition: Admin has facility management rights
- Main Flow:
* Admin views the list of facilities
* Add/edit/delete facilities
* Set maintenance schedules
* Update usage fees
- Postcondition: Facility information is updated
4. **Billing Management**
- Actor: Admin
- Description: Admin manages invoices, tracks payments, generates financial reports
- Precondition: Admin has financial management rights
- Main Flow:
* Admin views the list of invoices
* Manually create invoices if needed
* Track payment statuses
* Generate financial reports
- Postcondition: Invoices and reports are created
5. **Notification Management**
- Actor: Admin
- Description: Admin creates and sends system-wide notifications
- Precondition: Admin has permission to send notifications
- Main Flow:
* Admin creates a new notification
* Selects target recipients
* Sends the notification
* Tracks delivery status
- Postcondition: Notification is sent successfully
6. **View reports and analytics**
- Actor: Admin
- Description: Admin views overview reports and system statistics
- Precondition: Admin has permission to view reports
- Main Flow:
* Admin accesses the dashboard
* Views overview statistics
* Generates on-demand reports
* Exports reports to PDF/Excel
- Postcondition: Reports are generated and displayed
3.2 Staff Use Cases (Maintenance handling, facility management)
**Staff Use Case Description:**
Staff are operations personnel with permissions to handle maintenance
requests, manage facilities, and support residents.
**Main Use Cases:**
1. **Maintenance Request Handling**
- Actor: Staff
- Description: Staff receives and handles maintenance requests from residents
- Precondition: Staff is logged in and there are maintenance requests
- Main Flow:
* Staff views the list of maintenance requests
* Takes the request to handle
* Updates processing status
* Records notes and images during processing
* Completes and notifies the resident
- Postcondition: Maintenance request is fully processed
2. **Facility Management**
- Actor: Staff
- Description: Staff manages daily facility operations
- Precondition: Staff has facility management rights
- Main Flow:
* Staff views the facility booking schedule
* Checks facility status
* Updates facility status
* Handles incidents if any
- Postcondition: Facilities operate normally
3. **Resident Support**
- Actor: Staff
- Description: Staff supports residents in resolving issues
- Precondition: There are resident support requests
- Main Flow:
* Staff receives support requests
* Analyzes and resolves issues
* Updates processing status
* Notifies results to the resident
- Postcondition: Issues are resolved
4. **Update resident information**
- Actor: Staff
- Description: Staff updates resident information when necessary
- Precondition: Staff has permission to update information
- Main Flow:
* Staff views resident information
* Updates information as requested
* Confirms changes
* Notifies the resident
- Postcondition: Resident information is updated
3.3 Resident Use Cases (Booking, payment, receiving notifications)
**Resident Use Case Description:**
Residents live in the building and use the system to book facilities, pay
invoices, and receive notifications.
**Main Use Cases:**
1. **Facility Booking**
- Actor: Resident
- Description: Resident reserves usage of building facilities
- Precondition: Resident is logged in and the facility is available
- Main Flow:
* Resident views the list of facilities
* Selects a facility and time slot
* Checks availability
* Confirms the booking
* Receives confirmation notification
- Postcondition: Facility booking is successful
2. **Bill Payment**
- Actor: Resident
- Description: Resident views and pays invoices
- Precondition: Resident has invoices to pay
- Main Flow:
* Resident views invoice list
* Selects invoices to pay
* Chooses a payment method
* Makes the payment
* Receives payment confirmation
- Postcondition: Invoice is paid successfully
3. **Receive notifications**
- Actor: Resident
- Description: Resident receives and views notifications from management
- Precondition: Resident is logged into the system
- Main Flow:
* Resident receives new notifications
* Views notification content
* Marks as read
* Responds if needed
- Postcondition: Notification is processed
4. **Submit maintenance request**
- Actor: Resident
- Description: Resident submits maintenance requests when needed
- Precondition: Resident needs maintenance for apartment or facilities
- Main Flow:
* Resident creates a new maintenance request
* Describes the issue
* Selects priority level
* Submits the request
* Tracks processing status
- Postcondition: Maintenance request is submitted successfully
5. **View apartment information**
- Actor: Resident
- Description: Resident views detailed information about their apartment
- Precondition: Resident has been assigned to an apartment
- Main Flow:
* Resident accesses apartment information
* Views details
* Views maintenance history
* Views emergency contact information
- Postcondition: Resident has complete apartment information
6. **Update personal information**
- Actor: Resident
- Description: Resident updates their personal information
- Precondition: Resident wants to change information
- Main Flow:
* Resident opens the personal information page
* Edits necessary information
* Saves changes
* Receives confirmation
- Postcondition: Personal information is updated
REVIEW 2 CONCLUSION
Review 2 objectives have been achieved:
✅ **Architecture model:**
- Clearly defined 3-tier architecture with specific roles
- Detailed technologies for each tier
- Overall architecture designed clearly and logically
✅ **Component interaction:**
- Data flow diagrams describe all main flows
- Detailed Use Case diagrams for each user type
- Clear interactions among components
✅ **System design:**
- Layered architecture that is easy to maintain
- Selected technologies are suitable and modern
- Data flows are optimally designed
The “Smart Building Management System” is ready to proceed
to Review 3 – Implementation & Testing.
Chapter 3 — REVIEW 3: Database & GUI Design
REVIEW 3
DATABASE & GUI DESIGN
SMART BUILDING MANAGEMENT SYSTEM
1. DATABASE DESIGN
1.1 List of main entities
The system is designed with 8 main entities to manage the entire operation
of the apartment building:
**1. Users**
- Manage login information and roles
- Support 3 user types: Admin, Staff, Resident
**2. Apartments**
- Store detailed information about apartments
- Track statuses and apartment history
**3. Residents**
- Residents’ personal and contact information
- Linked with apartments and user accounts
**4. Facilities**
- Catalog of facilities available in the building
- Information on usage fees and maintenance schedules
**5. Bookings**
- Manage reservations for facility usage
- Track booking history and payments
**6. Invoices**
- Periodic invoices and service fees
- Track payment status
**7. Announcements**
- Notifications from management to residents
- History of sending and receiving notifications
**8. SupportTickets**
- Maintenance and support requests from residents
- Track processing progress
1.2 ERD (Entity-Relationship Diagram)
1.3 Detailed tables (attributes, primary keys, foreign keys)
1.4 Relationships between tables
**1-1 relationships:**
- Users ↔ Residents (one user corresponds to one resident)
- Users ↔ Apartments (one owner may have multiple apartments)
**1-N relationships:**
- Users → Announcements (one user creates many notifications)
- Apartments → Residents (one apartment may have many residents)
- Facilities → Bookings (one facility has many bookings)
**N-N relationships:**
- Residents ↔ Apartments (via a junction table)
- Residents ↔ Facilities (via the Bookings table)
2. USER INTERFACE (UI/UX) DESIGN
2.1 Website interface
**2.1.1 Login**
- **Layout:** Centered login form with gradient background
- **Components:**
* System logo at top
* Login form with username/email and password
* “Remember me” checkbox
* “Forgot password” and “Register” links
* Login button with hover effect
- **Responsive:** Auto-adjust for mobile and tablet
**2.1.2 Dashboard**
- **Layout:** Grid layout with sidebar navigation
- **Components:**
* Sidebar: Main menu, user profile, quick actions
* Header: Search bar, notifications, user menu
* Main content: Statistic widgets, charts, data tables
* Footer: System info, support links
- **Widgets:** Number of residents, apartments, facilities, unpaid invoices
**2.1.3 Resident Management**
- **Layout:** Table layout with search and filter
- **Components:**
* Toolbar: Add new, import/export, bulk actions
* Search bar with filters by status, apartment
* Data table with pagination
* Modal form to add/edit resident info
- **Features:** CRUD operations, bulk delete, Excel export
**2.1.4 Facility Management**
- **Layout:** Card layout with grid system
- **Components:**
* Grid cards showing facilities
* Modal form to add/edit facilities
* Calendar view for bookings
* Status indicators (available, maintenance, closed)
- **Features:** Manage maintenance schedules, update usage fees
**2.1.5 Invoices**
- **Layout:** Table layout with advanced filters
- **Components:**
* Filter panel: By month, status, apartment
* Data table with sortable columns
* Action buttons: View details, send email, print PDF
* Summary panel: Total invoices, total amount
- **Features:** Create manual invoices, send reminders
**2.1.6 Announcements**
- **Layout:** List layout with timeline view
- **Components:**
* Form to create a new announcement
* Announcement list with priority indicators
* Preview panel for content
* Schedule panel for delivery time
- **Features:** Draft, schedule, target audience selection
2.2 Mobile App interface
**2.2.1 Login**
- **Layout:** Full-screen form with clean design
- **Components:**
* App logo and name at the top
* Input fields with Material Design
* Biometric login (fingerprint/Face ID)
* Login button with loading state
- **UX:** Auto-fill, password visibility toggle, error handling
**2.2.2 Profile**
- **Layout:** Single-column layout with sections
- **Components:**
* Profile header with avatar and basic info
* Personal information section
* Apartment details section
* Settings section
* Logout button
- **Features:** Edit profile, change password, preferences
**2.2.3 Facility Booking**
- **Layout:** List + Calendar hybrid
- **Components:**
* Tab navigation: List view, Calendar view
* Facility cards with availability status
* Date picker for date selection
* Time slot picker for time selection
* Booking confirmation modal
- **UX:** Real-time availability, conflict detection
**2.2.4 Notifications**
- **Layout:** List layout with grouping
- **Components:**
* Notification list grouped by date
* Priority indicators (color coding)
* Swipe actions (mark read, delete)
* Pull-to-refresh
* Settings for notification preferences
- **Features:** Push notifications, in-app notifications
**2.2.5 Chat (Support)**
- **Layout:** Chat interface with message bubbles
- **Components:**
* Chat header with recipient info
* Message list with timestamps
* Input field with attachment support
* Quick reply buttons
* File/image sharing
- **Features:** Real-time messaging, file upload, emoji support
2.3 UI/UX principles
**2.3.1 Simplicity**
- **Minimalism:** Remove unnecessary elements
- **Clear hierarchy:** Use typography and spacing to structure content
- **Progressive disclosure:** Reveal information in stages
- **Consistent patterns:** Use consistent design patterns
**2.3.2 Consistency**
- **Design system:** Use design tokens for colors, typography, spacing
- **Component library:** Build a reusable component library
- **Icon system:** Use a consistent icon set
- **Color palette:** Apply a consistent color scheme across the app
**2.3.3 Responsive Design**
- **Mobile-first approach:** Prioritize mobile design first
- **Breakpoint system:** Use standard breakpoints (320px, 768px, 1024px, 1440px)
- **Flexible layouts:** Use CSS Grid and Flexbox
- **Touch-friendly:** Ensure minimum 44px touch targets
**2.3.4 Multi-language**
- **i18n support:** Support Vietnamese and English
- **RTL support:** Support right-to-left languages
- **Localization:** Format dates and currency by locale
- **Cultural adaptation:** Adapt to local cultures
**2.3.5 Accessibility**
- **WCAG 2.1 compliance:** Follow accessibility standards
- **Keyboard navigation:** Support keyboard navigation
- **Screen reader support:** Compatible with screen readers
- **Color contrast:** Ensure sufficient color contrast
**2.3.6 Performance**
- **Fast loading:** Optimize page load time
- **Smooth animations:** Use CSS transitions and animations
- **Lazy loading:** Load data on demand
- **Caching strategy:** Apply caching for static assets
REVIEW 3 CONCLUSION
Review 3 objectives have been achieved:
✅ **Data model:**
- Completed database design with 8 main entities
- ERD clearly shows table relationships
- Detailed table structures with primary and foreign keys
- Properly designed 1-1, 1-N, and N-N relationships
✅ **User interface:**
- Website UI with 6 main functional screens
- Mobile App UI with 5 main responsive screens
- UI/UX principles fully applied
- Multi-language and accessibility support
✅ **Practicality and feasibility:**
- Normalized, extensible database design
- Modern, user-friendly UI/UX
- Responsive design for all devices
- Optimized performance and accessibility
The “Smart Building Management System” has completed all 3 reviews
and is ready for real-world deployment.
END OF REVIEW 3
Completion date: [Completion date]
Status: Completed
Score: [Instructor’s score]
Comments: [Instructor’s comments]
Instructor’s signature: _________________
Date: _________________
OVERALL CONCLUSION
The project has completed all 3 review phases: problem definition & requirements, architecture & processing flows, and database & interface design. The proposed system meets performance, security, scalability, and user-experience criteria and is ready for implementation and testing.
APPENDIX A — REVIEW 1 (ENGLISH VERSION)
ENGLISH VERSION
REVIEW 1 - PROBLEM DEFINITION & REQUIREMENT
SMART BUILDING MANAGEMENT SYSTEM
Student Group:
• Huynh Tan Luc – T3S2307045
• Nguyen Tri Thuc – T3S23070456
Supervisor: Mr. Truong Trung
Review Date: [Review Date]
1. INTRODUCTION
1.1 Project Background and Significance
In the current context of rapid urbanization, managing residential buildings
and apartment complexes has become extremely complex and challenging. Traditional
building management systems based on paper documents and manual processes no longer
meet the growing demands for efficient management, resident services, and operational
optimization.
Current situation shows:
• Rapid increase in the number of apartments and residential units
• Manual administrative processes causing delays and errors
• Difficulties in communication between building management and residents
• Lack of effective monitoring and reporting systems
• Increasingly diverse needs for amenities and services
Project significance:
• Solve real problems in apartment building management
• Apply modern technology to automate processes
• Improve service quality and resident experience
• Create intelligent, sustainable management platform
• Contribute to smart city development
1.2 Main and Secondary Objectives
Main objectives:
• Develop comprehensive and integrated building management platform
• Automate administrative processes and minimize manual work
• Improve communication and information between building management and residents
• Optimize facility booking and maintenance management systems
• Simplify billing and payment processes and financial management
• Provide mobile access to building services
• Create integrated, user-friendly and easy-to-use interface
Secondary objectives:
• Implement real-time notification and update systems
• Provide comprehensive reporting and analysis of building operations
• Ensure high scalability and security of the system
• Create responsive and accessible user interface
• Implement multi-language support (Vietnamese/English)
• Provide comprehensive documentation and user guides
• Integrate with external systems when needed
1.3 Project Scope
The project scope includes the following main areas:
Core management functions:
• User and role management (Admin, Staff, Resident)
• Apartment and unit management within buildings
• Facility booking and management systems
• Maintenance request and incident handling
• Invoice and payment management
• Internal notification and communication systems
Technical features:
• Web-based administrative dashboard
• Mobile application for residents
• Integrated RESTful API architecture
• Real-time notification system
• Detailed role and permission management
• Data backup and security
1.4 System Users
Primary users:
• Apartment building management board (Admin)
• Operations and maintenance staff (Staff)
• Residents living in buildings (Resident)
• Apartment owners
User characteristics:
• Admin: Management knowledge, basic computer skills
• Staff: Operations staff, need simple interface
• Resident: Diverse age groups, varying technology skills
• Owners: Concerned about financial information and reports
2. PROBLEM IDENTIFICATION
2.1 Current Status and Difficulties
Current building management systems face many important challenges:
Management processes:
• Manual and time-consuming administrative processes
• Complex paperwork processing, prone to loss and errors
• Lack of effective monitoring and reporting systems
• Difficulties in storing and retrieving information
Communication and information:
• Lack of real-time communication between management and residents
• Delayed, unsynchronized notifications
• Difficulties in collecting feedback from residents
• Lack of official and effective communication channels
Facility and service management:
• Manual facility booking systems, inefficient
• Difficulties in scheduling and maintenance management
• Lack of usage tracking and reporting systems
• Slow maintenance request processing procedures
Financial and billing:
• Complex and manual billing and payment processes
• Difficulties in tracking payments and outstanding debts
• Lack of automatic warning and reminder systems
• Inaccurate and untimely financial reports
Access and usage:
• Limited access to building information and services
• Lack of mobile access for modern users
• Unfriendly and difficult-to-use interface
• Poor integration between different management functions
2.2 Problems to be Solved
Based on current situation analysis, main problems to be solved include:
Process issues:
• Automate manual management processes
• Standardize request processing and reporting procedures
• Optimize workflow and task assignment
Communication issues:
• Improve communication and notification systems
• Create effective two-way communication channels
• Ensure timely and accurate information transmission
Facility management issues:
• Optimize facility booking processes
• Improve maintenance and incident management systems
• Enhance resource utilization efficiency
Financial issues:
• Simplify payment and invoice management systems
• Automate calculation and invoice generation processes
• Improve financial tracking and reporting systems
Access issues:
• Enhance information access capabilities
• Develop mobile applications for residents
• Integrate management functions into one platform
2.3 Proposed Solutions
Smart Building Management System is proposed with the following solutions:
System architecture:
• Comprehensive web management platform for admin and staff
• Mobile application for residents
• Integrated RESTful API to connect components
• 3-tier architecture: Presentation, Business Logic, Data Access
Technology solutions:
• Backend: Spring Boot with Java 17
• Frontend: React.js with TypeScript
• Mobile: Flutter cross-platform
• Database: MySQL
• Authentication: JWT with Spring Security
Main features:
• User management and role-based access control
• Integrated apartment and resident management
• Smart facility booking system
• Maintenance and incident management
• Automatic billing and payment system
• Real-time notification and communication
3. SYSTEM REQUIREMENTS
3.1 Non-Functional Requirements
Performance:
• System response time < 2 seconds for 95% of requests
• Support 1000+ concurrent users
• 99.9% system availability
• Optimize database queries for large datasets
• Application startup time < 5 seconds
Security:
• Encrypted data transmission (HTTPS/TLS)
• Secure user authentication (JWT tokens)
• Role-based access control (RBAC)
• Encrypt sensitive data
• Regular security audits and penetration testing
• Protection against SQL injection and XSS
Scalability:
• Horizontal scaling capability
• Load balancing support
• Database sharding strategies
• Microservices architecture support
• Performance optimization for high load
User Experience (UX/UI):
• Intuitive and easy-to-use user interface design
• Responsive design for all device types
• Accessibility compliance (WCAG 2.1)
• Multi-language support (Vietnamese/English)
• Consistent and easy-to-learn interface
• Fast response time for user interactions
Reliability:
• 24/7 stable system operation
• High error recovery capability
• Automatic and frequent data backup
• Detailed logging for debugging and monitoring
3.2 Functional Requirements
User management and role-based access control:
• User registration and authentication with email verification
• Role-based access control (Admin, Staff, Resident)
• User profile management and updates
• Password reset and account recovery
• Session management and security
Apartment and resident management:
• Apartment registration and detailed information management
• Resident assignment and linking with apartments
• Apartment status tracking (vacant, occupied, maintenance)
• Maintenance history and related documentation
• Emergency contact information management
Facility and service management:
• Facility catalog and availability
• Online booking and reservation system
• Usage tracking and statistical reporting
• Maintenance scheduling and coordination
• Facility usage fee management
Billing and payment system:
• Automatic periodic invoice generation
• Multiple payment method support
• Payment tracking and transaction history
• Late payment notifications and automatic reminders
• Financial reporting and statistics
Notification and communication system:
• Create and distribute building-wide notifications
• Collect feedback from residents
• Support ticket and request management
• Real-time notifications and alerts
• Communication and exchange history
Reporting and analytics:
• Overview dashboard with statistics
• Detailed reports on building operations
• Trend analysis and performance metrics
• PDF/Excel report export
• Charts and visual graphs
3.3 Hardware/Software Requirements
Server requirements:
• CPU: Intel Core i5 or higher or equivalent AMD Ryzen 5
• RAM: Minimum 8GB, recommended 16GB
• Storage: SSD 256GB or higher
• Operating System: Windows 10/11, Ubuntu 20.04 LTS
• Network: 100Mbps or higher
Client requirements:
• Web browsers: Chrome 90+, Firefox 88+, Edge 90+, Safari 14+
• Mobile devices: Android 8.0+, iOS 12.0+
• RAM: Minimum 4GB for mobile devices
• Stable internet connection
Database requirements:
• MySQL + with JSON support
• Redis 6+ for cache and session
• Storage capacity: Minimum 100GB
• Daily automatic backup
Development tools requirements:
• IDE: IntelliJ IDEA, Visual Studio Code, Android Studio
• Version Control: Git with GitHub
• Database Tools: pgAdmin, Redis Desktop Manager
• Testing Tools: JUnit 5, Jest, Flutter testing framework
Technology requirements:
• Backend: Spring Boot 3.x, Java 17+
• Frontend: React.js 18+, TypeScript 5+
• Mobile: Flutter 3.x, Dart 3+
• Database: MySQL, Redis
• Authentication: JWT, Spring Security
• Build Tools: Maven, npm, Flutter CLI
END OF ENGLISH VERSION